#pragma once
#include <google/protobuf/service.h>

namespace RPC
{
    // 这个类是用来处理当RPC出现错误时的
    class MyrpcController : public google::protobuf::RpcController
    {
    public:
        MyrpcController();
        void Reset() override;
        bool Failed() const override;
        std::string ErrorText() const override;
        void SetFailed( const std::string &reason ) override;

        // 待完善的功能
        //  目前未实现具体的功能
        void StartCancel() override;
        bool IsCanceled() const override;
        void NotifyOnCancel( google::protobuf::Closure *callback ) override;

    private:
        bool m_failed;
        std::string m_errText;
    };
}  // namespace RPC